Analysing Definitional Trees: Looking for Determinism1
نویسندگان
چکیده
This paper describes how high level implementations of (needed) narrowing into Prolog can be improved by analysing definitional trees. First, we introduce a refined representation of definitional trees that handles properly the knowledge about the inductive positions of a pattern. The aim is to take advantage of the new representation of definitional trees to improve the aforementioned kind of implementation systems. Second, we introduce selective unfolding transformations, on determinate atom calls in the Prolog code, by examining the existence of what we call “deterministic (sub)branches” in a definitional tree. As a result of this analysis, we define some generic algorithms that allow us to compile a functional logic program into a set of Prolog clauses which increases determinism and incorporates some refinements that are obtained by ad hoc artifices in other similar implementations of functional logic languages. We also present and discuss the advantages of our proposals by means of some simple examples.
منابع مشابه
Analysing Definitional Trees: Looking for Determinism
• Needed Narrowing (NN) is the standard operational mechanism of functional logic languages. • The definition of NN makes use of the notion of a definitional tree. • A Definitional tree is a structure which contains all the information about the program rules defining a function and guides the computation. • A great effort has been done to provide these languages with high level implementations...
متن کاملDefinitional Question-Answering Using Trainable Text Classifiers
Automatic question answering (QA) has gained increasing interest in the last few years. Question-Answering systems return an answer rather than a document. Definitional questions are questions such as Who is Alexander Hamilton? or what are fractals? Looking at logs of web search engines definitional questions occur quite frequently, suggesting it is an important type of questions. Analysis of p...
متن کاملThe logical basis of phylogenetic taxonomy.
Phylogenetic taxonomy, like modern Linnean taxonomy, was modeled on a phylogenetic tree rather than a cladogram and, like its predecessor, perpetuates the use of morphology as a means of recognizing clades. Both practices have generated confusion in graphical representation, operational terminology, and definitional rationale in phylogenetic taxonomy, the history of which is traced. The followi...
متن کاملRefined Definitional Trees and Prolog Implementations of Narrowing
This paper describes how high level implementations of (needed) narrowing into Prolog can be improved by introducing a refined representation of definitional trees that handles properly the knowledge about the inductive positions of a pattern. We define some generic algorithms that allow us to transform a functional logic program into a set of Prolog clauses which incorporates some refinements ...
متن کاملA Higher-Order Demand-Driven Narrowing Calculus with Definitional Trees
We generalize the Constructor-based ReWriting Logic CRWL to the setting of the simply typed λ-calculus, where theories are presented by conditional overlapping fully extended pattern rewrite systems. We claim that this logic is useful for higher-order functional-logic programming, and propose a Higher-Order Lazy Narrowing calculus HOLNDT for answering joinability and reducibility queries, in wh...
متن کامل